$(function(){
const {form,laypage} = layui

   // 定义一个查询的参数对象，将来请求数据的时候，
   // 需要将请求参数对象提交到服务器
  const q = {
    pagenum: 1, // 页码值，默认请求第一页的数据
    pagesize: 2, // 每页显示几条数据，默认每页显示2条
    cate_id: '', // 文章分类的 Id
    state: '' // 文章的发布状态
    }

  // 定义时间过滤器
 // 定义美化时间的过滤器
 template.defaults.imports.dataFormat = function(date) {
  const dt = new Date(date)
  var y = dt.getFullYear()
  var m = padZero(dt.getMonth() + 1)
  var d = padZero(dt.getDate())
  var hh = padZero(dt.getHours())
  var mm = padZero(dt.getMinutes())
  var ss = padZero(dt.getSeconds())
  return y + '-' + m + '-' + d + ' ' + hh + ':' + mm + ':' + ss
  }
  // 定义补零的函数
  function padZero(n) {
  return n > 9 ? n : '0' + n
  }

  initTable()
  initarttype()
  // 初始化表格
  function initTable(){
    $.ajax({
      method:'GET',
      url:'/my/article/list',
      data:q,
      success:function(res){
        if(res.status!==0){
           return layer.msg('请求数据失败!')
        }
        layer.msg('请求数据成功!')
        // console.log(res)
       const html = template('tpl-table',res)
        $('tbody').html(html)
        rendarPage(res.total)
      }

    })
  }


  // 初始化文章类型
  function initarttype(){
    $.ajax({
      method: 'get',
      url:'/my/article/cates',
      success:function (res){
        if(res.status!==0){
          layer.msg('获取数据失败')
          // console.log(res)
        }
       const html = template('tpl-cate',res)
        $('#cate_id').html(html)
        form.render()
      }
    })
  }



  // 需要先绑定表单的 submit 事件
  // 在事件里面获取到表单中选中的值
  // 然后把这个值同步到我们 参数对象 q 里面
  // 再次调用 initTable() 方法即可
  filterdata()
function filterdata(){
  $('#form-search').on('submit',function (e){
    e.preventDefault() // 阻止表单提交的默认行为
    q.cate_id=$('[name=cate_id]').val() // 将表单内的值作为请求参数 向服务器发起get请求 获取到数据渲染到表格中
    q.state=$('[name=state]').val()
    initTable()

  })
}

function rendarPage(total){
 laypage.render({
   elem:'pageBox', // 容器盒子
   count:total,  // 数据总数
   limit:q.pagesize, // 每页显示条数
   curr:q.pagenum, // 起始页
   layout:['count','limit','prev', 'page', 'next','skip'],
   limits:[1,2,3,5,10],
   
   jump : function(obj,first){
    console.log(obj.curr);
    q.pagenum=obj.curr  
    q.pagesize=obj.limit
    // initTable()
    // 当点击页码按钮的时候 first的值为undefined  此时再调用inintable函数发起ajax请求渲染表格
    if(!first){
      initTable()
    }
   }
 })
}

// 通过代理的形式 给删除按钮绑定删除事件
$('tbody').on('click','#btn-delete',function(){
  const id = $(this).attr('data-id')
  const len = $('#btn-delete').length
  layer.confirm('确认删除?', function(index){
  
  $.ajax({
    method:'GET',
    url:'/my/article/delete/'+id,
    success:function(res){
      if(res.status!==0){
        return layer.msg('删除失败!')
      }
      layer.msg('删除成功!')
      // 判断删除按钮的个数是否等于1并且页码值不等于1 如果等于1就让页码值减一
      if(len===1&&q.pagenum!==1){
        q.pagenum--
      }
      initTable()
    }
  })
    layer.close(index);
  });       

})
})